package com.site.wisdom_construction.entity.userAuthorityModule;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.sql.Date;

/** @Description @Author DYF @Date 2021-12-22 */
@ApiModel(value = "用户表实体类", description = "User")
public class User {
  /** 用户表ID */
  @ApiModelProperty(value = "用户表ID", name = "id")
  private Integer id;

  /** 项目id */
  @ApiModelProperty(value = "项目id", name = "projectId")
  private Integer projectId;

  /** 项目名称 */
  @ApiModelProperty(value = "项目名称", name = "projectName")
  private String projectName;

  /** 联系人姓名 */
  @ApiModelProperty(value = "联系人姓名", name = "contactsName")
  private String contactsName;

  /** 联系人手机号 */
  @ApiModelProperty(value = "联系人手机号", name = "contactsPhone")
  private String contactsPhone;

  /** 账号 */
  @ApiModelProperty(value = "账号", name = "account")
  private String account;

  /** 密码 */
  @ApiModelProperty(value = "密码", name = "password")
  private String password;

  /** 项目开始时间 */
  @ApiModelProperty(value = "项目开始时间", name = "projectStartTime")
  @JsonFormat(pattern ="yyyy-MM-dd", timezone="GMT+8")
  private Date projectStartTime;

  /** 项目结束时间 */
  @ApiModelProperty(value = "项目结束时间", name = "projectEndTime")
  @JsonFormat(pattern ="yyyy-MM-dd", timezone="GMT+8")
  private Date projectEndTime;

  /** 账号创建时间 */
  @ApiModelProperty(value = "账号创建时间", name = "createDate")
  @JsonFormat(pattern ="yyyy-MM-dd", timezone="GMT+8")
  private Date createDate;

  /** 账号到期时间 */
  @ApiModelProperty(value = "账号到期时间", name = "expiredDate")
  @JsonFormat(pattern ="yyyy-MM-dd", timezone="GMT+8")
  private Date expiredDate;

  /** 父ID */
  @ApiModelProperty(value = "父ID", name = "fatherId")
  private Integer fatherId;

  /** 等级 */
  @ApiModelProperty(value = "等级", name = "leave")
  private String leave;

  /** 是否有子类 */
  @ApiModelProperty(value = "是否有子类", name = "isparent")
  private String isparent;

  /** 状态(0:不可用 1:可用 2:已过期) */
  @ApiModelProperty(value = "状态(0:不可用 1:可用 2:已过期)", name = "status")
  private String status;

  public User() {
    super();
  }

  public User(
      Integer id,
      Integer projectId,
      String projectName,
      String contactsName,
      String contactsPhone,
      String account,
      String password,
      Date projectStartTime,
      Date projectEndTime,
      Date createDate,
      Date expiredDate,
      Integer fatherId,
      String leave,
      String isparent,
      String status) {
    this.id = id;
    this.projectId = projectId;
    this.projectName = projectName;
    this.contactsName = contactsName;
    this.contactsPhone = contactsPhone;
    this.account = account;
    this.password = password;
    this.projectStartTime = projectStartTime;
    this.projectEndTime = projectEndTime;
    this.createDate = createDate;
    this.expiredDate = expiredDate;
    this.fatherId = fatherId;
    this.leave = leave;
    this.isparent = isparent;
    this.status = status;
  }

  public Integer getId() {
    return this.id;
  }

  public void setId(Integer id) {
    this.id = id;
  }

  public Integer getProjectId() {
    return this.projectId;
  }

  public void setProjectId(Integer projectId) {
    this.projectId = projectId;
  }

  public String getProjectName() {
    return this.projectName;
  }

  public void setProjectName(String projectName) {
    this.projectName = projectName;
  }

  public String getContactsName() {
    return this.contactsName;
  }

  public void setContactsName(String contactsName) {
    this.contactsName = contactsName;
  }

  public String getContactsPhone() {
    return this.contactsPhone;
  }

  public void setContactsPhone(String contactsPhone) {
    this.contactsPhone = contactsPhone;
  }

  public String getAccount() {
    return this.account;
  }

  public void setAccount(String account) {
    this.account = account;
  }

  public String getPassword() {
    return this.password;
  }

  public void setPassword(String password) {
    this.password = password;
  }

  public Date getProjectStartTime() {
    return this.projectStartTime;
  }

  public void setProjectStartTime(Date projectStartTime) {
    this.projectStartTime = projectStartTime;
  }

  public Date getProjectEndTime() {
    return this.projectEndTime;
  }

  public void setProjectEndTime(Date projectEndTime) {
    this.projectEndTime = projectEndTime;
  }

  public Date getCreateDate() {
    return this.createDate;
  }

  public void setCreateDate(Date createDate) {
    this.createDate = createDate;
  }

  public Date getExpiredDate() {
    return this.expiredDate;
  }

  public void setExpiredDate(Date expiredDate) {
    this.expiredDate = expiredDate;
  }

  public Integer getFatherId() {
    return this.fatherId;
  }

  public void setFatherId(Integer fatherId) {
    this.fatherId = fatherId;
  }

  public String getLeave() {
    return this.leave;
  }

  public void setLeave(String leave) {
    this.leave = leave;
  }

  public String getIsparent() {
    return this.isparent;
  }

  public void setIsparent(String isparent) {
    this.isparent = isparent;
  }

  public String getStatus() {
    return this.status;
  }

  public void setStatus(String status) {
    this.status = status;
  }

  @Override
  public String toString() {
    return "{" +
            "id=" + id +
            ", projectId=" + projectId +
            ", projectName='" + projectName + '\'' +
            ", contactsName='" + contactsName + '\'' +
            ", contactsPhone='" + contactsPhone + '\'' +
            ", account='" + account + '\'' +
            ", password='" + password + '\'' +
            ", projectStartTime=" + projectStartTime +
            ", projectEndTime=" + projectEndTime +
            ", createDate=" + createDate +
            ", expiredDate=" + expiredDate +
            ", fatherId=" + fatherId +
            ", leave='" + leave + '\'' +
            ", isparent='" + isparent + '\'' +
            ", status='" + status + '\'' +
            '}';
  }
}
